草庐IT

java - 在服务方法中使用@Timed

全部标签

ruby - 使用 bundler ,判断 gem 是否为 "requirable"的最佳方法是什么?

在我的Gemfile中说我有group:testdogem'rspec-core',require:falseend有没有一种简单的方法可以查看test组是否已被bundle?(比如,在这种情况下,bundle可能在有或没有--withouttest的情况下被调用)。我找不到,因此我开始寻找是否需要rspec-core,并找到了一些明显的解决方案:Bundler.definition.index.search("rspec-core")#orGem.loaded_specs["rspec-core"]确定是否需要gem的最稳定的API是什么?(不尝试要求它并挽救LoadError)

ruby - 使用 Ruby `return` 时如何防止 `yield` 出现问题

正如每个Ruby程序员最终发现的那样,调用包含return语句的block或过程可能很危险,因为这可能会退出您当前的上下文:defsome_method(&_block)puts1yield#Thefollowinglinewillneverbeexecutedinthisexample#astheyieldisactuallya`yield-and-return`.puts3enddeftestsome_methoddoputs2returnendendtest#Thisprints"1\n2\n"insteadof"1\n2\n3\n"如果您想绝对确定某些代码在您调用block或过

ruby - 在 Ruby 中使用 Unix 进程控制方法

RyanTomayko用thispost引发了一场激烈的Storm关于使用Unix进程控制命令。Weshouldbedoingmoreofthis.Alotmoreofthis.I'mtalkingaboutfork(2),execve(2),pipe(2),socketpair(2),select(2),kill(2),sigaction(2),andsoonandsoforth.Theseareourfriends.Theywantsobadlyjusttohelpus.我有一些代码(DataMapper的delayed_job克隆,我认为它适合这个,但我不清楚如何利用列出的命令。

ruby - 如何测试使用 rspec 的 block 的函数

我有一个函数,它接受一个block,打开一个文件,产生并返回:defstart&block.....dosomestuffFile.open("filename","w")do|f|f.write("something")....dosomemorestuffyieldendend我正在尝试使用rspec为其编写测试。我如何stubFile.open以便它将对象f(由我提供)传递给block而不是尝试打开实际文件?像这样的东西:it"shouldtestsomething"domyobject=double("File",{'write'=>true})File.should_rece

ruby-on-rails - Rails ActionController::BadRequest 在生产服务器上导致 500 服务器错误

我们有一个土耳其语网站,一些旧链接被一些搜索引擎抓取。这些链接似乎格式不正确或无法处理,因此导致ActionController::BadRequest错误。在本地机器上developmentenv这会导致返回带有ActionController::BadRequest的Rails错误页面.但是在服务器上我们得到一个500servererror.此问题在其他几个页面上进行了讨论,例如here.但所有解决方案都无济于事。在这两种情况下,我们都希望重定向到pagenotfound-页面。我已经尝试过rescue_fromActionController::BadRequest和rescue

Ruby:使用 self 关键字从内部调用私有(private)方法

classMyClassdeftestputsmy_idputsself.my_idendprivatedefmy_id115endendm=MyClass.newm.test此脚本产生输出:115priv.rb:4:in`test':privatemethod`my_id'calledfor#(NoMethodError)frompriv.rb:15:in`'使用self关键字和不使用关键字从内部调用方法有什么区别?根据我的Delphi和C#经验:没有区别,self可以用来避免与局部变量的名称冲突,表示我想调用实例函数或引用实例变量. 最佳答案

ruby-on-rails - 如何在 Rails Controller 中调用 channel 方法?

我有一个订阅用户的ActionCable方法。如果开始新的session,我也想为用户订阅新channel。我想不出在Controller中调用channel方法的正确语法。更新:问题是消息在发送时附加到聊天框,但是当发送第一条消息时,websocket连接尚未建立,因此在用户看来好像消息没有发送(因为它没有被附加)。channel/msgs_channel.rbclassMsgsChannel在我的convosController中,create方法,我尝试了几种方法:convos_controller.rbdefcreate@convo=Convo.create!({sender_

ruby - Sinatra 服务器推送?

将数据从用Sinatra编写的服务器推送到客户端的最佳方法是什么?类似于聊天室,但没有每2500毫秒进行一次Ajax轮询。我知道Rails中的Juggernaut,但对Sinatra很好奇。 最佳答案 谷歌搜索了一下thisblogpostbyMarc-AndréCournoyer,其中讨论了瘦Web服务器的异步响应功能,并包含一个指向async-sinatra库的链接来执行此操作。你也可以看看orbited-ruby,Orbited的Ruby实现cometd服务器。这两个看起来都非常新且未经测试,因此您可能需要自己进行一些修改才能

ruby - 用 ruby​​-progressbar gem 结束一个方法

我正在尝试使用ruby-progressbargemruby-gitgem我的目标是在gitclone的时候捕捉动态进度条,这样我就可以得到这个gitclone的进度条我正在尝试这样使用defmy_methodp=ProgressBar.create(:format=>'%a%B%p%%%t')Git.clone('git://github.com/ankit8898/rubymotion-inspect.git','my_repo',:path=>'.')dop.incrementendend我无法获得预期的进度条。我初始化进度条的方式有什么问题吗?提前致谢!

ruby-on-rails - ActiveRecord:查询未对 STI 子类使用正确的类型条件

我有一组STI子类继承自User基类。我发现在子类定义中的某些条件下,对子类的查询没有正确使用type条件。classUser在开发中加载Rails控制台时,它会按照我的预期进行:Admin:SELECT`users`.*FROM`users`WHERE`users`.`type`IN('Admin')但是当点击应用程序(localhost/pow)时,它缺少type条件,我明白了:Admin:SELECT`users`.*FROM`users`但在部署到暂存服务器时不是来自应用程序:Admin:SELECT`users`.*FROM`users`WHERE`users`.`type`